package com.xtaller.easy.admin.service;

import java.util.List;

import com.alibaba.fastjson.JSONObject;
import com.xtaller.common.bean.Where;
import com.xtaller.easy.admin.model.SysLabel;

/**
* Created by Taller on 2018/04/13
*/
public interface ISysLabelService {
   /******************* CURD ********************/ 
   // 创建 
   SysLabel createSysLabel(SysLabel model); 
   // 删除 
   Boolean deleteSysLabel(Object ids,String reviser);
   // 修改 
   SysLabel updateSysLabel(SysLabel model); 
   // 查询 
   List<SysLabel> findByIds(Object ids);
   // 属于 
   Boolean exist(List<Where> w); 
   // 查询一个id是否存在 
   Boolean existId(Object id); 
   /******************* CURD ********************/
   // 分组名称唯一性判断
   Boolean existGroup(SysLabel model, boolean isCreate);
   // 字典编码唯一性判断
   Boolean existCode(SysLabel model, boolean isCreate);
   Boolean existGroupCode(SysLabel model, boolean isCreate);
   Boolean existLabelCode(SysLabel model, boolean isCreate);
   // 模块唯一性判断
   Boolean existModule(SysLabel model, boolean isCreate);
   // 字典名称唯一性判断
   Boolean existName(SysLabel model, boolean isCreate);
   // 读取模块
   List<SysLabel> getModule();
   // 根据模块读取所有字典数据
   List<SysLabel> getByModuleId(Long moduleId);
   // 根据父级读取所有字典数据
   List<SysLabel> getByParentId(String parentId);
   // 根据模块和父级读取所有字典数据
   List<SysLabel> getByModuleIdAndParentId(Long moduleId, String parentId);
   // 读取相关数据是否有子集
   List<SysLabel> getByModuleIdOrParentId(String id);
   // 读取所有标签信息
   List<JSONObject> getTreeLabel();
   // 刷新标签数据
   List<JSONObject> RefreshSysLabelCache();
   // 根据标签code获取数据
   JSONObject getLabelByCode(String code);
}